package com.ynet.middleground.contract.bean;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.ynet.core.common.BaseReqObj;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * @author liulx
 * @description 获取
 * @date 2020-04-15 23:58
 */
@Data
@EqualsAndHashCode(callSuper = false)
@ApiModel(value = "存证证明查看页面链接请求类", description = "场景式存证，存证证明查看页面链接")
public class GetEviViewPageUrlReq extends BaseReqObj {

    private static final long serialVersionUID = -7435222486642837080L;

    @ApiModelProperty(value = "数据存证编号，证据链 id", notes = "数据存证编号，证据链 id", dataType = "String", required = true)
    @NotBlank(message = "数据存证编号不能为空")
    private String id;

    @ApiModelProperty(value = "时间戳（毫秒级）", notes = "时间戳（毫秒级）", dataType = "String", required = true)
    @NotBlank(message = "时间戳不能为空")
    private String timestamp;

    @ApiModelProperty(value = "Url访问地址的有效期 true 表示timestamp字段为链接的失效时间 \n false 表示timestamp字段为链接的生效时间Url访问地址的有效期",
        notes = "Url访问地址的有效期", dataType = "boolean", required = true)
    @NotNull(message = "不能为空")
    private Boolean reverse;

    @ApiModelProperty(
        value = "证件类型 ID_CARD：身份证 \n CODE_ORG：组织机构代码 \n CODE_USC：社会统一信用代码 \n "
            + "CODE_REG：工商注册号 \n HK_CARD：香港居民来往内地通行证 \n MO_CARD：澳门居民来往内地通行证 \n " + "TW_CARD：台湾居民来往大陆通行证 \n FOR_CARD：护照",
        notes = "证件类型", dataType = "String", required = true)
    @NotBlank(message = "证件类型不能为空")
    private String type;

    @ApiModelProperty(value = "证件号码", notes = "证件号码", dataType = "String", required = true)
    @NotBlank(message = "证件号码不能为空")
    private String number;
}
